#pragma once

#include<iostream>
#include<string>
#include<assert.h>
using namespace std;
namespace F
{
	class string
	{
	public:
		string(const char* str = "");
		string(const string& s);
		string& operator=(const string& s);
		~string();
		void swap(string& s);
		size_t size()const
		{
			return _size;
		}
		const char& operator[](size_t index) const
		{
			assert(index <= _size);

			return _str[index];
		}
	private:
		char* _str;
		size_t _size;
		size_t _capacity;
	};
	void print_str(const string& s);
}